<template>
  <div>
    <!-- 一条文章单元格 -->
  <van-cell>
    <!-- 标题区域的插槽 -->
    <template #title>
      <div class="title-box">
        <!-- 标题 -->
        <span>{{ artObj.title }}</span>
        <!-- 一张图片 -->
        <!-- 使用v-lazy懒加载需要禁用浏览器的缓存功能 -->
        <img
          v-if="artObj.cover.type === 1"
          v-lazy="artObj.cover.images[0]"
          alt=""
          class="thumb"
        />
      </div>
      <!-- 多图时，v-for循环img生成多张图-->
      <div v-if="artObj.cover.type > 1" class="thumb-box">
        <img
          v-for="(item, index) in artObj.cover.images"
          :key="index"
          v-lazy="item"
          alt=""
          class="thumb"
        />
      </div>
    </template>
    <!-- label 区域的插槽 -->
    <template #label>
      <div class="label-box">
        <div>
          <span>{{ artObj.aut_name }}</span>
          <span>{{ artObj.comm_count }}</span>
          <!-- 调用时间处理函数，处理文章发布时间 -->
          <span>{{ dateFormat(artObj.pubdate) }}</span>
        </div>
        <!-- 反馈按钮 -->
        <van-icon name="cross"
        @click.stop="closeFn"
        v-show="isShow"/>
      </div>
    </template>
  </van-cell>
  <!-- <van-action-sheet v-model="show" :actions="actions" @select="onSelect" /> -->
  </div>
</template>

<script>

import dayjs from 'dayjs' //  引入dayjs
import * as relativeTime from 'dayjs/plugin/relativeTime' // 引入relativeTime插件---返回指定时间的相对时间字符串。
import 'dayjs/locale/zh-cn' // 扩展relativeTime
import { mapMutations } from 'vuex'
dayjs.locale('zh-cn') // 导入并使用 locale，转化成中文
dayjs.extend(relativeTime)

export default {
  props: {
    artObj: Object, // 接收父组件传递过来的每条文章信息对象
    isShow: {
      type: Boolean,
      default: false
    }
  },
  methods: {
    dateFormat (date) {
      var a = dayjs()
      var b = dayjs(date) // 文章发布时间
      return a.to(b) // 2 years ago
    },
    ...mapMutations(['ActionsShowMutation', 'setActionIdMutation']),
    closeFn () {
      this.ActionsShowMutation(true)
      // 将当前文章的id通过mutations里的函数传给store里的变量
      this.setActionIdMutation(this.artObj.art_id)
    }
  }

}
</script>

<style scoped lang="less">
/* 标题样式 */
.title-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

/* label描述样式 */
.label-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 文章信息span */
.label-box span {
  margin: 0 3px;
  &:first-child {
    margin-left: 0;
  }
}
/* 图片的样式, 矩形黄金比例：0.618 */
.thumb {
  width: 113px;
  height: 70px;
  background-color: #f8f8f8;
  object-fit: cover;
}

/* 三图, 图片容器 */
.thumb-box {
  display: flex;
  justify-content: space-between;
}
</style>
